import { Event, Uri } from "vscode";
import { Resource } from "../../common/types";
import { EQEnvironment } from "../../eqEnvironments/info";

export const IInterpreterAutoSelectionProxyService = Symbol('IInterpreterAutoSelectionProxyService');

export interface IInterpreterAutoSelectionProxyService {
    readonly onDidChangeAutoSelectedInterpreter: Event<void>;
    getAutoSelectedInterpreter(resource: Resource): EQEnvironment | undefined;
    registerInstance?(instance: IInterpreterAutoSelectionProxyService): void;
    setWorkspaceInterpreter(resource: Uri, interpreter: EQEnvironment | undefined): Promise<void>;
}
export const IInterpreterAutoSelectionService = Symbol('IInterpreterAutoSelectionService');
export interface IInterpreterAutoSelectionService extends IInterpreterAutoSelectionProxyService {
    readonly onDidChangeAutoSelectedInterpreter: Event<void>;
    autoSelectInterpreter(resource: Resource): Promise<void>;
    getAutoSelectedInterpreter(resource: Resource): EQEnvironment | undefined;
    setGlobalInterpreter(interpreter: EQEnvironment | undefined): Promise<void>;
}